ActionBar(4) 自定义布局及下拉列表导航

您所在的位置:网站首页 taro 自定义导航 ActionBar(4) 自定义布局及下拉列表导航

ActionBar(4) 自定义布局及下拉列表导航

#ActionBar(4) 自定义布局及下拉列表导航| 来源: 网络整理| 查看: 265

public class MainActivity extends ActionBarActivity {

private ActionBar actionBar; private Spinner mActionbarSpinner;

@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //得到Bar actionBar = getSupportActionBar();

//设置标题 actionBar.setTitle("Bar例子"); actionBar.setSubtitle("努力!");

//使自定义的普通View能在title栏显示, actionBar.setCustomView能起作用. actionBar.setDisplayShowCustomEnabled(true);

//显示虚拟按键 displayVirtualMenuKey();

//下拉列表 initSpinner(); }

@SuppressLint("NewApi") @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. //添加菜单项 MenuItem findItem = menu.add(0,1,0,"查找"); MenuItem exitItem = menu.add(0,0,0,"退出");

//绑定到ActionBar findItem.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM); exitItem.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);

return true; }

/** * 初始化下拉列表 */ private void initSpinner() { View actionbarLayout = LayoutInflater.from(this).inflate(R.layout.activity_bar, null); mActionbarSpinner = (Spinner) actionbarLayout.findViewById(R.id.action_bar_spinner);

//方法一 initSpinnerMethod1();

//方法二 //initSpinnerMethod2();

//事件监听 mActionbarSpinner.setOnItemSelectedListener(new SpinnerItemSelectedListener());

//在Bar上显示定制view actionBar.setCustomView(actionbarLayout); }

/** * 建立数据源 方法一 */ private void initSpinnerMethod1() { String[] mItems = getResources().getStringArray(R.array.spinner_page); ArrayAdapter spAdapter = new ArrayAdapter (this,R.layout.support_simple_spinner_dropdown_item,mItems); mActionbarSpinner.setAdapter(spAdapter);

}

/** * 建立数据源 方法二 */ private void initSpinnerMethod2() { mActionbarSpinner.setAdapter( new ArrayAdapter(this, android.R.layout.simple_expandable_list_item_1,getData())); }

/** * 下拉列表数据源 * @return */ private List getData(){ List data = new ArrayList(); data.add("A"); data.add("B"); data.add("C"); data.add("D"); return data; }

/** * 监听action_bar的spinner item选择事件 */ private class SpinnerItemSelectedListener implements OnItemSelectedListener {

@Override public void onItemSelected(AdapterView arg0, View view, int position,long arg3) { String str= arg0.getItemAtPosition(position).toString(); Toast.makeText(MainActivity.this, "你点击的是:"+str, 2000).show(); }

@Override public void onNothingSelected(AdapterView arg0) {} }

/** * 强制显示虚拟按键 */ private void displayVirtualMenuKey() { //显示虚拟按键即那...点 (4.0后没了菜单键) try { getWindow().addFlags( WindowManager.LayoutParams.class.getField("FLAG_NEEDS_MENU_KEY").getInt(null)); }catch (NoSuchFieldException e) { // Ignore since this field won't exist in most versions of Android }catch (IllegalAccessException e) { Log.w("feelyou.info", "Could not access FLAG_NEEDS_MENU_KEY in addLegacyOverflowButton()", e); } }

}



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3